package com.dc.service.impl;

import java.util.List;

import com.dc.dao.UsersDao;
import com.dc.dao.impl.UsersDaoImpl;
import com.dc.entity.Users;
import com.dc.service.UsersService;
import com.dc.tools.MD5Util;
import com.dc.tools.PageData;

/**
 * 业务层，实现UsersService接口的方法
 * 
 * @author HCH
 *
 */
public class UsersServiceImpl implements UsersService {

	UsersDao usersDao = new UsersDaoImpl();

	/**
	 * 添加用户
	 */
	@Override
	public boolean addUsers(Users users) {
		// TODO Auto-generated method stub
		if (users == null) {
			return false;
		}
		// 先查询，判断是否存在用户名相同的Users
		Users us = usersDao.selectUsersByName(users.getUsername());
		if (us != null) {
			// 数据库已经用户名相同的用户了，返回false
			return false;
		}
		// 如果数据库没有与当前用户名相同的用户，调用增加的方法
		return usersDao.addUsers(users);
	}

	/**
	 * 根据用户编号userid删除用户
	 */
	@Override
	public boolean deleteUsers(int userid) {
		// TODO Auto-generated method stub
		return usersDao.deleteUsers(userid);
	}

	/**
	 * 根据用户编号userid修改用户信息
	 */
	@Override
	public boolean updateUsers(Users users) {
		// TODO Auto-generated method stub
		return usersDao.updateUsers(users);
	}

	/**
	 * 根据用户编号userid重置用户密码
	 */
	@Override
	public boolean resetUserpsw(int userid, String userpsw) {
		// TODO Auto-generated method stub
		return usersDao.resetUserpsw(userid, userpsw);
	}

	/**
	 * 根据用户名username查询用户
	 */
	@Override
	public Users selectUsersByName(String username) {
		// TODO Auto-generated method stub
		return usersDao.selectUsersByName(username);
	}

	/**
	 * 根据关键词查找用户
	 */
	@Override
	public List<Users> selectUsersByKeyword(String keyword) {
		// TODO Auto-generated method stub
		return usersDao.selectUsersByKeyword(keyword);
	}

	/**
	 * 根据手机号查找用户
	 */
	@Override
	public Users selectUsersByPhone(String userphone) {
		// TODO Auto-generated method stub
		return usersDao.selectUsersByPhone(userphone);
	}
	/**
	 * 查找所有用户信息
	 */
	@Override
	public List<Users> selectUsers() {
		// TODO Auto-generated method stub
		return usersDao.selectUsers();
	}

	/**
	 * 分页显示用户信息
	 */
	@Override
	public PageData<Users> selectUsersByPage(int page, int pageSize, String keyword) {
		// TODO Auto-generated method stub
		if (page < 1) {
			page = 1;
		}
		return usersDao.selectUsersByPage(page, pageSize, keyword);
	}

	@Override
	public boolean doLogin(String name, String psw) {
		// TODO Auto-generated method stub
		return usersDao.doLogin(name, psw);
	}

	@Override
	public Users login(String username, String userpsw) {
		// TODO Auto-generated method stub
		//String userpsw = MD5Util.getEncodeByMd5(userpsw);
		return usersDao.getUsersByNameAndPwd(username, userpsw);
	}

}
